package weetools

import (
	"os/user"

	"gitee.com/honwee/weetools/internal"
)

// GetOSUidFromPort
//  @Description: 根据远程网络地址的端口号获取对应的系统用户
//  @param port  远程地址的端口号
//  @param network  协议切换: Tcp=int8(1), Tcp6=int8(2)
//  @return *user.User  返回标准库user包的用户帐户
//  @return error
//
func GetOSUidFromPort(port int64, network int8) (*user.User, error) {
	uid, err := internal.GetSocketUid(port, network)
	if err != nil {
		return nil, err
	}
	username, err := user.LookupId(uid)
	if err != nil {
		return nil, err
	}
	return username, nil
}
